package cn.tedu.practice2303.CZB.apihomeworkday01;

import java.io.File;
import java.io.FileFilter;

/**
 * 列出当前目录中所有名字包含s的子项。
 * 
 * 使用匿名内部类和lambda两种写法
 * 
 * 单词记一记:
 * FileFilter   文件过滤器
 * accept       接受
 * 
 * @author Xiloer
 *
 */
//public class Test02 {
//	public static void main(String[] args) {
//		File file=new File(".");
//		if(file.isDirectory()){//判断是否是目录
//			FileFilter f=pathname-> pathname.getName().contains("s");
//
//			File[] subs=file.listFiles(f);//列出所有子项
//			for(File sub:subs){
//				String name=sub.getName();
//				System.out.println("文件名为"+name);
//			}
//
//
//		}
//	}
//}
public class Test02 {
	public static void main(String[] args) {
		File file=new File(".");
		if(file.isDirectory()){//判断是否是目录
			FileFilter f=new FileFilter() {

				public boolean accept(File pathname) {
					return pathname.getName().contains("s");
				}
			};
			File[] subs=file.listFiles(f);//列出所有子项
			for(File sub:subs){
				String name=sub.getName();
				System.out.println("文件名为"+name);
			}


		}
	}
}

/*
	提示代码:
	需要用到的语句，尝试按照正确顺序将下列代码并放在main方法中完成需求，
	并在注释中标注每句话的作用，
	//【在这里标注该句代码意义】
	File dir = new File(".");//查看本目录

	//【在这里标注该句代码意义】
	if(dir.isDirectory()){//判断是否为目录
	//【在这里标注该句代码意义】
	File[] suns = dir.listFiles(new FileFilter() {//过滤器,将元素放会suns数组中
		public boolean accept(File file) {
//【在这里标注该句代码意义】
	return file.getName().contains("s");返回包含s文件名
		}
	});

	//【在这里标注该句代码意义】
	for(int i=0;i<subs.length;i++){//循环遍历subs数组
//【在这里标注该句代码意义】
	System.out.println(subs[i].getName());//输出包含s元素

	}


	}










 */